home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO009.dsk
/
MISC
/
STARTUP.MENU.bas
< prev
Wrap
BASIC Source File
|
2012-02-16
|
5KB
|
104 lines
100 REM -------------------------------
110 REM STARTUP MENU
120 REM -------------------------------
130 REM
140 REM HAVING THOSE "I DON'T REMEMBER" BLAHS AFTER CATALOGING?
150 REM TRY THIS PROGRAM AS AN AUTO STARTUP. IT DOES IT ALL.
160 REM PROVIDES A 'CATALOG' MENU THAT ALLOWS YOU TO SELECT & RUN.
170 REM
180 REM FOR YOUR APPLE 2C WITH PRODOS & 80 COLUMNS.
190 REM IF YOU'RE NOT USING AN APPLE 2C YOU WILL HAVE TO REASSIGN THE
200 REM KEYBOARD CODES. ESC=27 RETURN=13 CNTL(F)=6 CNTL(B)=2
210 REM ARROW(UP)=11 ARROW(DOWN)=10 TO YOUR EQUIVALENT.
220 REM
230 REM IF NOT DISPLAYING IN 80 COLUMNS YOU WILL HAVE TO CHANGE
240 REM EVERY POKE 1403,XX TO HTAB XX E.G. POKE 1403,1 TO HTAB 1
250 REM DISABLE PRINT CHR$(4);"PR#3" USED TO SWITCH TO 80 COLS.
260 REM
270 REM IF YOU'RE GOING TO USE THIS PROGRAM AS AN AUTO STARTUP,
280 REM SAVE THE BASIC PROGRAM & RENAME AS STARTUP .
290 REM MAKE SURE ITS ON A PRODOS DISKETTE WITH PRODOS AND BASIC.SYSTEM
291 REM This is a revised version of this Excellent Program by
292 REM PW+Software. The only changes to it allow for continued
293 REM use in Subdirectories as well as main Volume Directories
294 REM of 6 lines recycles the program to function on the sub-
295 REM directories. I also added the Control-O command to bring
296 REM the prefix back to the Volume Prefix. This will also come
297 REM in handy when swapping disks while the program is running
300 REM 10/85 PW+SOFTWARE 76324,2336
310 REM Revised 10/20/85 Mark T. Collins 76324,564
320 REM
330 REM THE KEYBOARD FUNCTIONS ARE:
340 REM CONTROL F PAGE FORWARD
350 REM CONTROL B PAGE BACK
355 REM CONTROL O ORIGINAL VOLUME
360 REM ESC END JOB
370 REM UP ARROW NEXT ITEM
380 REM DOWN ARROW PREVIOUS ITEM
390 REM RETURN TO SELECT
400 DIM L$(200)
410 HOME : PRINT CHR$(4);"PREFIX/"
420 PRINT CHR$(4);"PR#3"
430 REM -------------------------------
440 REM CATALOG DISKETTE
450 REM -------------------------------
460 X = 1
465 FOR Q = 1 TO 30:L$(Q) = " ": NEXT Q
470 PRINT CHR$(4);"PREFIX": INPUT DISK$
480 HOME : VTAB 1: POKE 1403,5: INVERSE : PRINT " STARTUP MENU ": NORMAL
490 VTAB 2: POKE 1403,5: PRINT "PREFIX- ";DISK$
500 PRINT CHR$(4);"OPEN ";DISK$;",TDIR"
510 PRINT CHR$(4);"READ ";DISK$
520 INPUT S$:X = X +1: IF X <5 THEN 520
530 IF S$ < >"" THEN L$(X -4) = S$: GOTO 520
540 PRINT CHR$(4);"CLOSE ";DISK$
550 REM -------------------------------
560 REM DISPLAY CATALOG
570 REM -------------------------------
580 CNT = X -5
590 A = 0
600 IF A <1 OR A >CNT THEN A = 0
610 R = 5:A = A +1:B = A +14
620 HOME : VTAB 1: POKE 1403,5: INVERSE : PRINT " STARTUP MENU ": NORMAL
630 VTAB 2: POKE 1403,5: PRINT "PREFIX ";DISK$
640 VTAB 3: POKE 1403,5: PRINT "FILES ";CNT
650 FOR X = A TO B
660 VTAB R: POKE 1403,1: PRINT X;" "; MID$ (L$(X),2,15)
670 VTAB R: POKE 1403,20: PRINT X +15;" "; MID$ (L$(X +15),2,15)
680 R = R +1
690 NEXT X
700 VTAB 20: POKE 1403,1: PRINT "CNT-F PAGE FORWARD CNTL-B PAGE BACK"
705 VTAB 21: POKE 1403,1: PRINT "CNT-O RETURN TO MAIN DIRECTORY"
710 VTAB 22: POKE 1403,1: PRINT "ARROW KEYS FOR NEXT/PREVIOUS ITEM"
720 VTAB 23: POKE 1403,1: PRINT "RETURN TO SELECT ESC TO EXIT"
730 REM -------------------------------
740 REM CHECK LIMITS
750 REM -------------------------------
760 X = A:R = 5:C = 1
770 IF R <5 AND C = 1 THEN X = A +29:R = 19:C = 20: GOTO 840
780 IF R >19 AND C = 1 THEN R = 5:C = 20: GOTO 840
790 IF R <5 AND C = 20 THEN R = 19:C = 1: GOTO 840
800 IF R >19 AND C = 20 THEN X = A:R = 5:C = 1
810 REM -------------------------------
820 REM KEYBOARD INPUT
830 REM -------------------------------
840 VTAB R: POKE 1403,C
850 GET A$
860 REM -------------------------------
870 REM PROCESS INPUT
880 REM -------------------------------
890 IF L$(X) = "" THEN 910
900 IF ASC(A$) = 13 THEN F$ = MID$ (L$(X),2,15): INVERSE : PRINT X;" ";F$: NORMAL
901 IF ASC(A$) < >13 THEN 910
902 M$ = MID$ (L$(X),18,3)
903 IF M$ < >"DIR" THEN 906
904 PRINT CHR$(4);"PREFIX";F$
905 HOME : GOTO 460
906 HOME : PRINT CHR$(4);"-";F$
910 IF ASC(A$) = 11 THEN X = X -1:R = R -1
915 IF ASC(A$) = 15 THEN 410
920 IF ASC(A$) = 10 THEN X = X +1:R = R +1
930 IF ASC(A$) = 06 THEN A = A +29: GOTO 600
940 IF ASC(A$) = 02 THEN A = A -31:: GOTO 600
950 IF ASC(A$) = 27 THEN HOME : END
960 GOTO 770